/*
DROP TABLE TRB_LANCAMENTO_HONORARIO_ZERADO
CREATE TABLE TRB_LANCAMENTO_HONORARIO_ZERADO (TLA_COD INT, LAN_COD INT, LAN_HONORARIO MONEY)
GO
*/


/*
DECLARE @TLA_COD INT, @LAN_COD INT, @HONORARIO MONEY, @TOTAL MONEY
DECLARE @LANCAMENTOS CURSOR 
SET @LANCAMENTOS = CURSOR FOR SELECT TRB_LANCAMENTO_1.TLA_COD, TRB_LANCAMENTO_1.LAN_COD--, GER_PLANO_DE_CONTAS_VI_1.PLA_SIGLA
					FROM TRB_LANCAMENTO TRB_LANCAMENTO_1
					      INNER JOIN TRB_BAIXA TRB_BAIXA_1 ON      (TRB_BAIXA_1.LAN_COD = TRB_LANCAMENTO_1.LAN_COD)
					      INNER JOIN GER_PLANO_DE_CONTAS_VI GER_PLANO_DE_CONTAS_VI_1 ON      (GER_PLANO_DE_CONTAS_VI_1.PLA_COD = TRB_LANCAMENTO_1.PLA_COD)
					      INNER JOIN GER_PLANO_DE_CONTAS_VI GER_PLANO_DE_CONTAS_VI_2 ON      (GER_PLANO_DE_CONTAS_VI_2.PLA_COD = TRB_BAIXA_1.PLA_COD)
					      INNER JOIN TRB_LANCAMENTOS_TRIBUTOS_VI TRB_LANCAMENTOS_TRIBUTOS_VI ON      (TRB_LANCAMENTOS_TRIBUTOS_VI.TLA_COD = TRB_LANCAMENTO_1.TLA_COD)
					WHERE 
						( TRB_BAIXA_1.BXA_DATA_CREDITO BETWEEN CONVERT(DATETIME,'2008-03-01',120) AND CONVERT(DATETIME,'2008-03-31 23:59:59',120) )
						AND 
							( TRB_BAIXA_1.BXA_SITUACAO = 'N' )
						AND ( TRB_BAIXA_1.BXA_RETORNO = 'S' )
						AND ( GER_PLANO_DE_CONTAS_VI_2.PLA_CODIGO = '9201-0' )
						AND ( TRB_LANCAMENTO_1.LAN_VALOR_HONORARIO = 0 )
						AND ( GER_PLANO_DE_CONTAS_VI_1.PLA_SIGLA LIKE '%D_VIDA%' )
						AND TRB_LANCAMENTO_1.LAN_COD  NOT IN (SELECT Z.LAN_COD FROM TRB_LANCAMENTO_HONORARIO_ZERADO Z)
						-- and TRB_LANCAMENTO_1.LAN_COD = 5053478
OPEN @LANCAMENTOS
FETCH NEXT FROM @LANCAMENTOS INTO @TLA_COD, @LAN_COD
SET @TOTAL = 0
PRINT 'TLA_COD   LAN_COD   HONORARIO'
WHILE @@FETCH_STATUS = 0 
BEGIN
	
	SELECT @HONORARIO = DIV_VALOR_HONORARIO 
		FROM TRB_DIVIDA 
		WHERE DIV_COD IN 
			(SELECT A.DIV_COD FROM TRB_ITEM_PARCELAMENTO A JOIN TRB_PARCELAMENTO B ON B.TLA_COD = A.TLA_COD	WHERE A.TLA_COD = @TLA_COD)
	
	-- PRINT CONVERT(SYSNAME, @TLA_COD) + ' - ' + CONVERT(SYSNAME, @LAN_COD) + ' - ' + CONVERT(SYSNAME, @HONORARIO)
	SET @TOTAL = @TOTAL + @HONORARIO
	IF @HONORARIO > 0
		INSERT INTO TRB_LANCAMENTO_HONORARIO_ZERADO SELECT @TLA_COD, @LAN_COD, @HONORARIO
	
	FETCH NEXT FROM @LANCAMENTOS INTO @TLA_COD, @LAN_COD
END

CLOSE @LANCAMENTOS
DEALLOCATE @LANCAMENTOS

PRINT 'Total = ' + CONVERT(SYSNAME, @TOTAL) 
*/


/*

select div_numero, div_valor_honorario, pes_cod_empresa, IMV_COD, * from trb_divida
	where div_cod in ( select div_cod from trb_item_parcelamento where tla_cod in ( select tla_cod from trb_lancamento where lan_cod = 5060239 ) )
and div_situacao != 'A'


select tla_cod, lan_valor_honorario from trb_lancamento where lan_cod = 5060239
*/

-- Testes
-- select * from TRB_LANCAMENTO_HONORARIO_ZERADO compute sum( lan_honorario )

select * from TRB_LANCAMENTO_HONORARIO_ZERADO where lan_cod = 5060239


SELECT B.*, LAN_VALOR_HONORARIO
	FROM TRB_LANCAMENTO A
	JOIN TRB_LANCAMENTO_HONORARIO_ZERADO B ON B.LAN_COD = A.LAN_COD
	AND A.LAN_VALOR_HONORARIO = 0

BEGIN TRANSACTION
UPDATE TRB_LANCAMENTO
	SET LAN_VALOR_HONORARIO = LAN_HONORARIO
	FROM TRB_LANCAMENTO A
	JOIN TRB_LANCAMENTO_HONORARIO_ZERADO B ON B.LAN_COD = A.LAN_COD
	AND A.LAN_VALOR_HONORARIO = 0
COMMIT